Using the QGIS Plugin Builder
The Plugin Builder allows you to quickly create a skeleton Python plugin by generating all that boring boilerplate that every plugin requires.
Here is a short video showing how to create, compile, and install a new plugin.
For more information, see QGIS Workshop Documentation and the PyQGIS Cookbook.